1. Technical Field
The present disclosure relates to configuration and, more specifically, to configuration using one or more configuration trees.
2. Description of the Related Art
As computer systems become more common and more complex, enterprises utilize creative and efficient ways to manage computer systems. Additionally, with the wide assortment of threats facing computer system security and integrity, close management of computer systems has become indispensable. However, with the large and growing quantity of computers in use, enterprises may have difficulty closely managing all of the computer systems that are in use by the enterprise.
One aspect of computer management is the configuration of distributed products. An enterprise may often wish to deploy computer products, for example computer software packages, to one or more computer systems associated with the enterprise. For example, an enterprise may wish to install a computer program on dozens or hundreds of computer systems world-wide.
While methods for deploying software packages are currently in use, installation and/or management of these software packages often require configurations be provided that are specific for each computer system that the software package is installed onto. This is because different computer system platforms may have different needs during deployment. For example, deploying a computer program on a computer system running one operating system may require different configurations than deploying the same computer program on another computer system running another operating system.
One solution may be to adopt a generic “one-size-fits-all” default configuration to be used by all computer systems during product distribution. However, because an enterprise may have a large number of computer systems employing many different platforms, using a default configuration may not be an effective method for distributing products.
Another solution may be to use a custom configuration for each computer system within the enterprise. However, this solution may be very labor intensive and expensive as each computer system should be examined and a proper configuration custom developed. These disadvantages may persist even when a default configuration is used in conjunction with smaller custom modifications. This process may additionally require intrusive agent-based software delivery solutions that may be expensive, error prone and/or high maintenance.
Another solution may be to use one of several available configurations depending on the type of computer system and distributed product. However this solution may result in a rough granularity of configuration options as well as an “either/or” situation. For example, if one available configuration is for “manager's computers” and another is for “Pentium 4 computers” then a manager's computer system having a Pentium 4 may have to choose between one or the other configuration.
Management of configurations to be used during distribution of products is often implemented from a single server, for example a configuration server. Using a single server has several disadvantages. For example, multiple simultaneous distributions may create a bottleneck at the configuration server adding delay and cost to the delivery process. For example, relying on a single configuration server for enterprise-wide distributions may represent a potential for a single point of failure that may be unacceptable to many enterprises.
It is therefore desirable to have an efficient and effective system and method for configuring a large number of distributed products across many computer systems that is able to avoid bottleneck and a single point of failure.